/**
 * 实体查询参数类型
 */
export interface RepoCompQueryParam extends PageQuery {
    ownerId?: string;
    groupId?: string;
    groupName?: string;
    modelType?: string;
    modelName?: string;
    component?: string;
    modelVersion?: string;
    description?: string;
    keyword?: string;
}

/**
 * 实体分页列表项
 */
export interface RepoCompEntity extends Entity {
    ownerId?: string;
    groupId?: string;
    groupName?: string;
    modelType?: string;
    modelName?: string;
    modelVersion?: string;
    component?: string;
    manufacturer?: string;
    deviceType?: string;
    lastVersion?: RepoCompVerItem;
    versions?: RepoCompVerItem[];
    description?: string;
}

/**
 * 实体分页列表项
 */
export interface RepoCompVerItem {
    version?: string;
    stage?: string;
    component?: string;
    pathName?: string;
    description?: string;
    modelType?: string;
    modelName?: string;
    modelVersion?: string;
    md5?: string;
    fileSize?: number;
    createTime?: number;
    updateTime?: number;
}

/**
 * 实体分页项类型
 */
export type RepoCompPageResult = PageResult<RepoCompEntity[]>;

/**
 * 创建实体请求VO
 */
export interface CreateRepoCompRequestVO {
    id?: string;
    ownerId?: string;
    groupId?: string;
    groupName?: string;
    modelType?: string;
    modelName?: string;
    component?: string;
    modelVersion?: string;
    version?: string;
    stage?: string;
    newStage?: string;
    description?: string;
    pathName?: string;
    commitKey?: string;
    manufacturer?: string;
    deviceType?: string;
    lastVersion?: RepoCompVerItem;
    verItem?: RepoCompVerItem;
}

